package com.corewillsoft.fireflies.gameobjects.obstacles;

/**
 * Tracks changes of some obstacle parameters by lower layer classes (for example, by {@link}Trajectory})
 */
public interface ITrajectory {
	/**
	 * called by lower classes (for example, by {@link}Trajectory),
	 * when some parameter of obstacle changed (for example, current segment of polyline trajectory);
	 * @param parameterIndex - index of changed parameter; this is relative parameter index in the list passed to underlying class,
	 *                         so it should be transformed by this method to the correct parameter index in the list of obstacle parameters map
	 * @param parameterValue - new value of the parameter
	 */
	void parameterChanged(int parameterIndex, Float parameterValue);
}
